// 添加class属性
export function addClass(el,className) {
  // console.log(hasClass,className)
  if (hasClass(el,className)) {
    return
  }
  // 以空格分开
  let newClass = el.className.split(' ');
  // 拼成数组
  newClass.push(className);
  // 再已' '连接
  el.className = newClass.join(' ')
}

// 存在class属性
export function hasClass(el,className) {
  // className开=头或者空白字符在前 classNAME后可跟空白字符
  let reg = new RegExp('(^|\\s)'+className+'(\\s|$)');
  return reg.test(el.className)
}


// 封装 getAttribute setAttribute
export function getData(el, name, val) {
  const prefix = 'data-';
  name = prefix + name;
  // 如果有这个值
  if (val) {
    return el.setAttribute(name, val)
  } else {
    return el.getAttribute(name)
  }
}


// 浏览器能力检测 封装css兼容样式
let elementStyle = document.createElement('div').style;

// 遍历供应商

let vendor = (() => {
  let transformNmaes = {
    // 谷歌
    webkit: 'webkitTransform',
    // 火狐
    Moz: 'MozTransform',
    // 欧朋
    O: 'OTransform',
    // IE
    ms: 'msTransform',
    // 标注
    standard: 'transform'
  };
  for (let key in transformNmaes) {
    if (elementStyle[transformNmaes[key]] !== undefined) {
      return key
    }
  }
  // 所有都不支持 return
  return false
})();

// 暴露这个方法

export function prefixStyle(style) {
  if (vendor === false) {
    return false
  }
  if (vendor === 'standard') {
    return style
  }
  return vendor + style.charAt(0).toUpperCase() + style.substr(1);
}
